/* 
 * File:   Network.h
 * Author: Martin
 *
 * Created on 29. červen 2010, 0:14
 */
#ifndef _NETWORK_H
#define	_NETWORK_H
#include <cstring>
#include <fstream>
#include <iostream>

#include "constants.h"
#include "Neuron.h"
using namespace std;

class Network {
public:
    Network(int INPUT_SIZE);
   // Network(const Network& orig);
    Network(string in_file);
    virtual ~Network();
    void print();
    void print_current_input();
    int assign_data_file(string in_file);
    int reset_data_file(); //nastavi ukazatel v datovem souboru na prvni zaznam
    int read_next_input(); //precte jeden zaznam z datoveho souboru a ulozi do input_vector
    //testMethod
    int get_position_in_file(bool print);
    bool end_of_input();
    Neuron neurons[NETWORK_SIZE][NETWORK_SIZE];
    //Neuron **neurons2;
    int get_input_size();
private:
    //double input_vector[INPUT_SIZE];
    double *input_vector;
    void init();
    ifstream in_file;
    int INPUT_SIZE;
};

#endif	/* _NETWORK_H */

